package guoanmaker.operator.business.service;

import java.util.List;
import java.util.Map;

import guoanmaker.operator.business.model.ReturnResult;
import guoanmaker.operator.business.modelnobind.OperatorActiveTaskVO;
import guoanmaker.operator.business.modelnobind.OperatorEventDetailsOptions;

/**
 * 
 * @author ws
 * @date 2017-11-23
 */
public interface OperatorActiveTaskServiceInterface {

	/**
	 * @description: 从表t_operator_event_details中根据luck_name and activity_type_id  and availability查询记录
	 * @param availability
	 * @param activityTypeId
	 * @param luckName
	 * @return id, eventTitle两个字段组成的类型的List集合
	 */
	List<OperatorEventDetailsOptions> findOperatorEventDetailsByAvailabilityAndActivityTypeIdAndLuckName(String availability, String activityTypeId, String luckName);

	/**
	 * @description:新增或修改任务记录
	 * @param taskId 任务id
	 * @param taskName 任务名称
	 * @param taskTypeId 任务类型id
	 * @param taskAmount 订单金额
	 * @param activeId 活动id
	 * @return ReturnResult
	 */
	ReturnResult saveOrUpdateOperatorActiveTask(String taskId, String taskName, String taskTypeId, String taskAmount, String activeId);

	/**
	 * @description:根据任务id删除任务记录
	 * @param taskId 任务id
	 * @return void 代表受影响行数
	 */
	void deleteOperatorActiveTaskById(String taskId);
	
	/**
	 * @descrption:根据活动名称和活动类型分页查询
	 * @param taskName 任务名称
	 * @param taskTypeId 任务类型id
	 * @param page 当前页
	 * @param size 当前页显示记录的数量
	 * @return
	 */
	Map<String, Object> findByTaskNameAndTaskType(String taskName, String taskTypeId, String page, String size);
	
	/**
	 * @description:根据订单中的实付金额-优惠金额和任务类型id查询对应的活动url,并添加或修改t_operator_active_chance
	 * @param provideOrderFormId 订单id
	 * @param taskTypeId 任务类型id
	 * @return String url地址
	 */
	String findActiveURLByTruePriceAndTaskTypeId(String provideOrderFormId, String taskTypeId);
}
